package ufo.api.event

import action.Action
import common.Position
import java.util.UUID

abstract class Event

//abstract class EventAtPosition extends Event

case class IllegalAction(action : Action, reason : String) extends Event

case class BeingMoved(beingId : UUID, position : Position) extends Event

case class BeingSpotted(beingId : UUID, position : Position, clientId: UUID, hitPoints : Int) extends Event

case class BeingPerformedAction(beingId : UUID, action : Action, actionPointsRemaining : Int) extends Event

case class BeginTurn(clientId : UUID) extends Event

case class Initialize(width: Int, height: Int, clientId: UUID) extends Event

case class WeaponFired(position: Position) extends Event

case class BeingInjured(beingId: UUID, damage : Int) extends Event

case class BeingDies(beingId : UUID) extends Event
